package com.migu.rbac.repository;

import com.migu.rbac.model.SysRole;
import com.migu.rbac.model.SysUser;
import com.migu.rbac.vo.page.UserPage;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface SysUserRepository {
    //根据用户名查找用户
    SysUser findByloginName(@Param("loginname") String loginname);

    //根据用户id查询用户
    SysUser findUserByUserId(int id);

    //根据用户id查询角色信息
    List<SysRole> getRolesByUserId(int id);

    //新增用户
    int saveUser(SysUser sysUser);

    //修改用户信息
    int updateUser(SysUser sysUser);

    //删除用户
    int deleteUser(@Param("uid") int uid);

    //按条件查询所有用户 分页
    List<SysUser> selectUserByExample(UserPage userPage);

    //分页条数
    Integer selectCount(UserPage userPage);

    //修改前判断是否已经存在用户
    int selectUserByUpdate(SysUser sysUser);

    //保存其它的项目的数据到sys_user表
    int savaFromOther(List<SysUser> sysUser);

    //根据用户名删除用户
    int deleteUserByLoginName(@Param("loginname") String loginname);

    //根据用户名修改用户
    int updateUserByLoginName(SysUser user);

    //保存其它用户的用户
    int saveUserFromEye(SysUser user);

    //用户名修改密码
    int updateUserPwdByUserInfo(@Param("loginname") String loginname, @Param("phone") String phone, @Param("password") String password);

    List<SysUser> findAllList();
}